<!-- 安防概览 》 右侧告警 -->

<template>
  <OurPanel class="SecureOverview-RightAlarm" :title="`最新${CORE.MAP.ALARM}`" :total="total" hasMore @click="toMore">
    <MyList />
  </OurPanel>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import store from './store'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'RightAlarm',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixStore(store), CORE.mixLoop(), CORE.mixApiMenu(`最新${CORE.MAP.ALARM}`)],

  /**
   * 组件导入 (Abc.vue + Abc/index.vue)
   */
  ...CORE.components(
    require.context('./', true, /vue$/),
    require.context('../components', true, /vue$/),
  ),

  /**
   * 监听属性 (深度 deep 首次 immediate)
   */
  watch: {
    /**
     * 监听最新推送数据
     */
    'CORE.SOCKET.data'({ msgType }) {
      if (msgType === 'alarmAddMsg') this.startList() // 判断是否为告警通知
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 跳转更多
     */
    toMore() {
      this.$router.push({ name: 'MaintainAlarm_AlarmList' })
    },
  },
}
</script>

<style lang="scss">
@import './index.scss';
</style>
